<?php
	// Classe per la gestione degli errori.
	class ErrorHandler
	{
		// Imposta le funzioni per la gestione degli errori.
		static function init()
		{
			set_error_handler(array("ErrorHandler", "myErrorHandler"));
			set_exception_handler(array("ErrorHandler", "myExceptionHandler"));
		}

		// Funzione per la gestione degli errori standard di PHP.
		static public function myErrorHandler($errno, $errstr, $file, $line)
		{
			// Seleziona il tipo di errore.
			switch($errno)
			{
				case E_WARNING: case E_USER_WARNING:
					$errnoString = "Warning";
					break;

				case E_NOTICE: case E_USER_NOTICE: 
					$errnoString = "Notice";
					break;

				default:
					$errnoString = "Error";
					break;
			}

			// Se il sito è in fase di debug mostra a schermo le informazioni.
			if(DEBUG == true)
				echo "<p>{$errnoString}<br />&emsp;{$errstr} alla riga {$line} del file {$file}</p>";
		}

		// Funzione per la gestione degli errori con Exception.
		static public function myExceptionHandler(Exception $e)
		{
			// Se il sito è in fase di debug mostra a schermo le informazioni.
			if(DEBUG == true)
				echo "<p>Exception<br />&emsp;{$e->getMessage()} alla riga {$e->getLine()} del file {$e->getFile()}</p>";
		}
	}
?>
